<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"   
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:p="http://primefaces.org/ui">

    <SCRIPT language="JavaScript" type="text/javascript">
                   
        function handleRequest(xhr, status, args) {                     
            if(args.validationFailed || !args.CallbackParam) {  
     
            } else {                              
                carDialogDetalle.hide();  
                jQuery('#btnGuardarDetalle').fadeOut();  
            }  
        }  
    </SCRIPT>
    <h:form onsubmit="return checkSubmit();"  id="frmDetalle">
        <h:panelGrid id="pgFormDtoDeta" >
            <p:panel header="#{i18n['guia.remision.deta.agrupacion.datos.generales']}">
                <h:panelGrid  columns="4" cellpadding="4">
                    <h:outputLabel value="#{i18n['guia.remision.deta.item']}" styleClass="label"/>
                    <h:outputText value="#{intercambioUbicaMBean.detaDto.item}"  styleClass="txtCampo"/>

                    <h:outputLabel for="itProducto" styleClass="label" value="#{i18n['guia.remision.deta.producto']}"/>                    
                    <p:autoComplete id="itProducto" value="#{intercambioUbicaMBean.detaDto.productoDetaDto}" required="true" completeMethod="#{productoMBean.autoCompletarProductoDetaNoServicio}"
                                    label="#{i18n['guia.remision.deta.producto']}" readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}" maxResults="10" minQueryLength="#{applicationMBean.minQueryLengthAutoComplete}" queryDelay="1" 
                                    converter="productoDetaConvert" var="sn" itemLabel="#{sn.textoAutocomplete}" itemValue="#{sn}" size="50" forceSelection="true"> 
                        <p:ajax event="itemSelect" listener="#{intercambioUbicaMBean.handleProductoChange}" update="itUnidadMedida" />
                        <p:column style="#{applicationMBean.estiloObligatorio}" > 
                            #{sn.productoDto.descripcion} || #{sn.unidadMedidaDto.nombre}
                        </p:column> 
                    </p:autoComplete>

                    <h:outputLabel for="itUnidadMedida" styleClass="label" value="#{i18n['guia.remision.deta.umedida']}"/>                    
                    <h:outputText id="itUnidadMedida" value="#{intercambioUbicaMBean.detaDto.unidadMedidaDto.nombre}" styleClass="general"  />

                    <h:outputLabel for="itCantidad" value="#{i18n['guia.remision.deta.cantidad.movida']}" styleClass="label"/>
                    <p:inputText id="itCantidad" label="#{i18n['guia.remision.deta.cantidad.movida']}" style="#{applicationMBean.estiloObligatorio}"
                                 value="#{intercambioUbicaMBean.detaDto.cantidadMovida}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                                 onkeypress="return fn_validaTecla('decimal',this)"
                                 required="true" size="10" >
                        <f:validateDoubleRange minimum="1" />
                        <f:validateLength minimum="1" maximum="9" />
                        <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                    </p:inputText>  

                </h:panelGrid>  
            </p:panel>


            <p:panel header="#{i18n['guia.remision.deta.agrupacion.almacen.ubiacion']}">
                <h:panelGrid id="pgAlmacenesUbicacion" columns="6" cellspacing="10">
                    <h:outputLabel for="itAlmacenUbicacionOrigen" styleClass="label"  value="#{i18n['guia.remision.deta.almacen.ubi.origen.abrev']}" title="#{i18n['guia.remision.deta.almacen.ubi.origen']}"/>
                    <p:selectOneMenu id="itAlmacenUbicacionOrigen" value="#{intercambioUbicaMBean.iuDetaItemDto.almacenUbicacionOrigenDto}" 
                                     converter="almacenUbicacionConvert"  disabled="#{sessionMBean.accionDetalle == applicationMBean.ver || !intercambioUbicaMBean.accesoGuardar}"                               
                                     style="#{applicationMBean.estiloObligatorio}" required="true">
                        <f:selectItems value="#{intercambioUbicaMBean.listaAlmacenesUbicacion}" var="almacenUbicacionDto"  itemLabel="#{almacenUbicacionDto.nombre}" itemValue="#{almacenUbicacionDto}" />                        
                    </p:selectOneMenu>
                    <h:outputLabel for="itAlmacenUbicacionDestino" styleClass="label" value="#{i18n['guia.remision.deta.almacen.ubi.destino.abrev']}" title="#{i18n['guia.remision.deta.almacen.ubi.destino']}"/>
                    <p:selectOneMenu id="itAlmacenUbicacionDestino" value="#{intercambioUbicaMBean.iuDetaItemDto.almacenUbicacionDestinoDto}" 
                                     converter="almacenUbicacionConvert"  disabled="#{sessionMBean.accionDetalle == applicationMBean.ver || !intercambioUbicaMBean.accesoGuardar}"                               
                                     style="#{applicationMBean.estiloObligatorio}" required="true">
                        <f:selectItems value="#{intercambioUbicaMBean.listaAlmacenesUbicacion}" var="almacenUbicacionDto"  itemLabel="#{almacenUbicacionDto.nombre}" itemValue="#{almacenUbicacionDto}" />                        
                    </p:selectOneMenu>
                    <h:outputLabel for="itCantidadGrDeta" value="#{i18n['guia.remision.deta.cantidad']}"  styleClass="label"/>
                    <p:inputText id="itCantidadGrDeta" label="#{i18n['guia.remision.deta.cantidad']}" style="#{applicationMBean.estiloObligatorio}"
                                 value="#{intercambioUbicaMBean.iuDetaItemDto.cantidadMovida}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver || !intercambioUbicaMBean.accesoGuardar}"
                                 onkeypress="return fn_validaTecla('decimal',this)" size="10" >
                        <f:validateLength maximum="9" />
                        <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                    </p:inputText>  
                    <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['guia.remision.deta.button.agregar']}"
                                     value="#{i18n['guia.remision.deta.button.agregar']}"
                                     rendered="#{sessionMBean.accionDetalle != applicationMBean.ver &amp;&amp; intercambioUbicaMBean.accesoGuardar}"
                                     style="#{applicationMBean.cssBotonBusqueda}" 
                                     ajax="true" 
                                     update=":msjDialogDeta, :frmDetalle:pgTblAlmacenUbicacion, :frmDetalle:pgAlmacenesUbicacion"
                                     action="#{intercambioUbicaMBean.agregarIuDetaItem}">
                    </p:commandButton>  
                </h:panelGrid>  
                <h:panelGrid id="pgTblAlmacenUbicacion">
                    <p:dataTable id="tblPrincipalUbicacion" var="dtoUB" paginator="false" widgetVar="widTable"  rowIndexVar="contIndex"                                     
                                 value="#{intercambioUbicaMBean.detaDto.listaDetalles}"
                                 emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"                            
                                 rows="#{sessionMBean.cantidadRegistros}">                                
                        <p:column  style="text-align:center;">
                            <p:commandButton icon="ui-icon  ui-icon-trash" title="#{i18n['general.button.eliminar']}" 
                                             ajax="true" immediate="true"
                                             update=":msjDialogDeta,:frmDetalle:pgTblAlmacenUbicacion"
                                             action="#{intercambioUbicaMBean.eliminarIuDetaItem}"
                                             rendered="#{sessionMBean.accionDetalle != applicationMBean.ver &amp;&amp; intercambioUbicaMBean.accesoGuardar}">
                                <f:setPropertyActionListener value="#{contIndex}" target="#{intercambioUbicaMBean.contIndex}" /> 
                            </p:commandButton>                   
                        </p:column>
                        <p:column headerText="#{i18n['guia.remision.deta.almacen.ubi.origen']}"   styleClass="general">
                            <h:outputText value="#{dtoUB.almacenUbicacionOrigenDto.nombre}" styleClass="general" />
                        </p:column>
                        <p:column headerText="#{i18n['guia.remision.deta.almacen.ubi.destino']}"   styleClass="general">
                            <h:outputText value="#{dtoUB.almacenUbicacionDestinoDto.nombre}" styleClass="general" />
                        </p:column>
                        <p:column headerText="#{i18n['guia.remision.deta.cantidad']}" styleClass="general" style="text-align: right;">
                            <h:outputText value="#{dtoUB.cantidadMovida}" styleClass="general" >
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                            </h:outputText>
                        </p:column>
                    </p:dataTable>
                </h:panelGrid>
            </p:panel>

            <p:panel id="pnlAccionesDeta">
                <h:panelGrid columns="10">
                    <p:commandButton id="btnGuardarDetalle" update=":msgs, :msjDialogDeta,:frmPrincipal:tabPrincipal:pnlPrincipalDeta" 
                                     title="#{i18n['general.button.guardar.tip']}"
                                     ajax="true"  
                                     style="#{applicationMBean.estilosBtnGuardar}"
                                     icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accionDetalle != applicationMBean.ver &amp;&amp; intercambioUbicaMBean.accesoGuardar}"
                                     value="#{i18n['general.button.guardar']}" 
                                     action="#{intercambioUbicaMBean.guardarDetalle}"
                                     oncomplete="handleRequest(xhr, status, args);">                                    
                    </p:commandButton>
                </h:panelGrid>
            </p:panel>
        </h:panelGrid>  
    </h:form>
</html>